package mjc.tds;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class StoreClass {
	
	private String identClass ;
	
	public StoreClass(String str){
		this.setIdentClass(str);
	}
	/**
	 * désérialize les informations concernant une classe
	 * sauvegardées dans un fichier 
	 * @param txt
	 * @return
	 */
	public INFOClasse deserializer(){
		INFOClasse classe = null;
		try {
			FileInputStream f = new FileInputStream(this.identClass+".ser");
			ObjectInputStream obj = new ObjectInputStream(f);
			classe = (INFOClasse)obj.readObject();
			// terminer l'opération
			obj.close();
			System.out.println("désérialisation");
		} 
		catch (java.io.IOException e){
			e.printStackTrace();
		}
		catch (ClassNotFoundException e){
			e.printStackTrace();
		}
		return classe;
	}
	
	/**
	 * sauvegarde les informations d'une classe dans un fichier
	 * @param i
	 */
	public void serializer(INFOClasse i){
		try {
			FileOutputStream f = new FileOutputStream(this.identClass+".ser");
			ObjectOutputStream obj = new ObjectOutputStream(f);
			obj.writeObject(i);
			// vider le tampon dans le fichier
			obj.flush();
			// terminer l'opération
			obj.close();
		} catch (java.io.IOException e){
			// problème avec le fichier
			e.printStackTrace();
		}
	}
	
	public void setIdentClass(String identClass) {
		this.identClass = identClass;
	}
	public String getIdentClass() {
		return identClass;
	}
}
